package cn.tedu.file;

import java.io.File;
import java.io.IOException;
import java.util.Arrays;

/**
 * @author: Dsi
 * @date: 2021/11/15 15:09
 * @description:该类用于测试文件类File
 */
public class TestFile {
    public static void main(String[] args) throws IOException {
        /*1.ready目录与1.txt文件需要手动创建
          2.File需要导包，io包
          3.路径格式是String类型，不然找不到
          4.完整的文件名：文件名+后缀*/
        File file = new File("D:\\Ready\\1.txt");
        System.out.println(file.length());
        System.out.println(file.canRead());
        System.out.println(file.exists());
        System.out.println(file.isFile());
        System.out.println(file.isDirectory());
        System.out.println();
        System.out.println(file.getName());
        System.out.println(file.getParent());
        System.out.println(file.getAbsolutePath());

        File file2=new File("D:\\Ready\\2.txt");
        /*由于担心file对象保存的路径有问题，
        io强制要求我们预先处理这个异常，我们在此处选择抛出
        但注意，实际操作中不允许将异常直接抛给main方法
         */
        System.out.println(file2.createNewFile());
        File file3=new File("D:\\Ready\\x");
        System.out.println(file3.mkdir());//单层文件夹的创建
        //File file4=new File("D:\\Ready\\d\\a\\d\\g");
        //System.out.println(file4.mkdirs());//多层文件夹的创建
        System.out.println("纯谷酒"+new File("D:\\s\\d\\f\\fg\\g").mkdirs());
        System.out.println("纯谷酒"+new File("D:\\s\\d\\f\\fg\\g").delete());

        /*delet只能删除文件与空文件夹*/
        System.out.println(file2.delete());
        System.out.println(file3.delete());
        //System.out.println(file4.delete());//不能删除非空文件夹，

        String[] str1 = new File(file2.getParent()).list();
        System.out.println(Arrays.toString(str1));
        System.out.println();

        file=new File("D:\\Ready");
        String[] str=file.list();
        System.out.println(Arrays.toString(str));
        System.out.println();

        File[] f=file.listFiles();
        System.out.println(Arrays.toString(f));
        System.out.println(f[0].length());
    }
}
